//#pragma large
#include <REGX52.H>
#include "Delay.h"
#include "mouse.h"
//sfr P4=0xe8;
//extern bit irRU;
//extern bit irLU;
//extern bit irC;
//sbit A0=P4^0;
//sbit A1=P2^0;
//sbit A2=P2^7;
//page 177
//unsigned char code Straight[] = {0x11, 0x93, 0x82, 0xc6, 0x28, 0x39};
unsigned char code Right[] = {0x11, 0x33, 0x22, 0x66, 0x44, 0xcc, 0x88, 0x99};
unsigned char code LEFT[] = {0x11, 0x99, 0x88, 0xcc, 0x44, 0x66, 0x22, 0x33};
unsigned char code Straight[]={0x11,0x93,0x82,0xc6,0x44,0x6c,0x28,0x39};//前进
//unsigned char code Dack[] = {0x11,0x93,0x82,0xc6,0x44,0x6c,0x28,0x39};//后退
//unsigned char code Right[] = {0x11,0x33,0x22,0x66,0x44,0xcc,0x88,0x99};//右转
//unsigned char code LEFT[] = {0x11,0x99,0x88,0xcc,0x44,0x66,0x22,0x33};//左转

//void pause_interferece(){
//	A0=5 & 0x01;
//	A1=5 & 0x02; 
//	A2=5 & 0x04; 
//}

void TurnLeft()
{
		unsigned char  i,j;
		for(j=0;j<53;j++) //外循环 55 内循环8 表示转90°
		{
			for(i=0;i<8;i++)
			{
				P1=LEFT[i];
				Delay(2);//3
			}
		}
}
void TurnRight(){//右转
		unsigned char  i,j;
		for(j=0;j<51;j++) 
		{
			for(i=0;i<8;i++)
			{
				P1=Right[i];
				Delay(2);//3
			}
		}
}

void GoForward(){//前进
		unsigned char  i,j;
		for(j=0; j<107; j++)//(107)外循环110  内循环8  表示一格的距离
		{
			for(i=0;i<8;i++)
			{ 
				while((irRU && irR && !irC)||(irLU && irL && !irC))//原地修正,注意修正的时候并没有走
				{
					if(irRU)
					{
						for(i=0;i< 8;i++)
						{
							P1=LEFT[i % 8] | 0x0f;
							Delay(1);
						}
					}
						
					else
					{
						for(i=0;i<8;i++)
						{ 
							P1=Right[i % 8] | 0xf0;
							Delay(1);
						}
					}
				}
				P1=Straight[i];
				Delay(2);
			}
		}
}

//void GoForward1(){
//			unsigned char  i,j;
//		for(j=0; j<109; j++)//(107)外循环110  内循环8  表示一格的距离
//		{
//			for(i=0;i<8;i++)
//			{ 
//				while((irRU && irR && !irC)||(irLU && irL && !irC))//原地修正,注意修正的时候并没有走
//				{
//					if(irRU)
//					{
//						for(i=0;i< 8;i++)
//						{
//							P1=LEFT[i % 8] | 0x0f;
//							Delay(1);
//						}
//					}
//						
//					else
//					{
//						for(i=0;i<8;i++)
//						{ 
//							P1=Right[i % 8] | 0xf0;
//							Delay(1);
//						}
//					}
//				}
//				P1=Straight[i];
//				Delay(2);
//			}
//		}
//	
//}
//void TurnBack(){//后退（用不到）
//		unsigned char i,j;
//		for(j=0;j<55;j++)
//		{
//			for(i=0;i<8;i++)
//			{
//				P1=Back[i];
//				Delay(3);
//			}
//		}
//}
